dxp-ux

(0 reviews)

POST Create Payment (TMF-676)

This call is to create a payment using billingAccountNumber for a POSTPAID and FIXED customers.

URL
https://[host]:[port]/dxp-ux/v1/{businessId}/payment
URL PARAMS
nametypedescriptionrequired
businessIdstring2 letter ISO 3166 country code (TT, BB, JM, PA, etc.) identifying the business unit.Y
namevaluedescriptionrequired (mandatory-Y, optional-N, Not applicable- N/A)
client_idstringThe client_id identifying the channel. Minimum characters: 5Y (PA, PR)
client_secretstringPassword associated with the client_id. Minimum characters: 5Y (PA, PR)
X-Correlation-IDstringIdentifier that correlates HTTP request between a client and server. Any identification model (UUDI, checksum, etc.) can be used, as long as it is a unique value to differentiate a transaction.Y (PA, PR)
channelIdstringChannel to business: Allowed value: APPY(PR) N(PA)
lobstringThe Line of Business Identifier Allowed value: POSTPAIDY(PR) N(PA)
targetSystemStringTo identify the bss system Eg: ariaY(PR) N(PA)
Data Model
Request Data Model
nametypedescriptionrequired (mandatory-Y, optional-N, Not applicable- N/A)
accountobjectAccount reference. A account may be a party account or a financial account.Y(PA, PR)
account.idstringCustomer billing account idY(PA, PR)
account.@typestringStatic text “CustomerAccountRef”N/A(PA) N(PR)
amountobjectA base / value business entity used to represent moneyN/A(PA) N(PR)
amount.valueNumberPayment AmountN/A(PA) N(PR)
amount.unitstring(ISO4217 norm uses 3 letters to define the currency)N/A(PA) N(PR)
paymentMethodobjectlink to the resource that holds information about the payment mean used to complete the operationY(PA, PR)
paymentmethod.idstringPayment method IdN/A(PA) Y(PR)
paymentmethod.@typestring“PaymentMethodRef” static text to refer the objectY(PA) N(PR)
@typestring“Payment” to refer the objectN/A(PA) N(PR)
correlatorIdstringUnique identifier in the client for the payment in case it is needed to correlateY(PA) N/A(PR)
namestringScreen name of the paymentY(PA) N/A(PR)
descriptionstringText describing the contents of the paymentY(PA) N/A(PR)
totalAmountobjectA base / value business entity used to represent moneyY(PA) N/A(PR)
totalAmount.valuenumberA positive floating point numberY(PA) N/A(PR)
paymentItem[]arrayThe paymentItem is the result of lettering process. It enables to assign automatically or manually part of incoming payment amount to a billY(PA) N/A(PR)
paymentItem[].amountobjectA base / value business entity used to represent moneyN(PA) N/A(PR)
paymentItem[].amount.valuenumberA positive floating point numberN(PA) N/A(PR)
paymentItem[].taxAmountobjectA base / value business entity used to represent moneyN(PA) N/A(PR)
paymentItem[].taxAmount.valuenumberA positive floating point numberN(PA) N/A(PR)
paymentItem[].totalAmountobjectA base / value business entity used to represent moneyY(PA) N/A(PR)
paymentItem[].totalAmount.valuenumberA positive floating point numberY(PA) N/A(PR)
paymentItem[].itemobjectEntity reference schema to be use for all entityRef class.Y(PA) N/A(PR)
paymentItem[].item.@referredTypestringThe actual type of the target instance when needed for disambiguation.Y(PA) N/A(PR)
paymentItem[].item.idstringUnique identifier of a related entity.Y(PA) N/A(PR)
payerobjectRelated Entity reference. A related party defines party or party role linked to a specific entity.N(PA) N/A(PR)
payer.idstringUnique identifier of a related entity.N(PA) N/A(PR)
channelobjectThe channel to which the resource reference to. e.g. channel for selling product offerings, channel for opening a trouble ticket etc..Y(PA) N/A(PR)
channel.idstringUnique identifier of a related entity. This is considered as cashierId/ employeeId
Example: "833904"
Y(PA) N/A(PR)
Response Data Model
nametypedescriptionrequired (mandatory-Y, optional-N, Not applicable- N/A)
idstringProcessor Payment idY(PR) N/A(PA)
statusstringStatus of the paymentY(PR) N/A(PA)
statusdatedatetimeDate when the status was recordedN(PR) N/A(PA)
authorizationcodestringAuthorization code retrieved from an external payment gateway that could be used for conciliationY(PR) N/A(PA)
descrptionstringText describing the contents of the paymentY(PR) N/A(PA)
account.idstringCustomer billing account idY(PA, PR)
account.@typestringStatic text “CustomerAccountRef”N(PR) N/A(PA)
amountobjectA base / value business entity used to represent moneyN(PR) N/A(PA)
amount.valuenumberPayment AmountN(PR) N/A(PA)
amount.unitstringurrency (ISO4217 norm uses 3 letters to define the currency)N(PR) N/A(PA)
paymentmethodobjectlink to the resource that holds information about the payment mean used to complete the operationY(PR) N/A(PA)
paymentmethod.idstringUnique Identifier within the server for the payment method.Y(PR) N/A(PA)
paymentmethod.@typestring“PaymentMethodRef” static text to refer the objectN(PR) N/A(PA)
@typestring“Payment” to refer the objectN(PR) N/A(PA)
correlatorIdstringUnique identifier in the client for the payment in case it is needed to correlateY(PA) N/A(PR)
accountobjectAccount reference. A account may be a party account or a financial account.Y(PA ,PR)
paymentItem[]arrayThe paymentItem is the result of lettering process. It enables to assign automatically or manually part of incoming payment amount to a billY(PA) N/A(PR)
paymentItem[].totalAmountobjectA base / value business entity used to represent moneyY(PA) N/A(PR)
paymentItem[].totalAmount.valuenumberA positive floating point numberY(PA) N/A(PR)
paymentItem[].itemobjectEntity reference schema to be use for all entityRef class.Y(PA) N/A(PR)
paymentItem[].item.@referredTypestringThe actual type of the target instance when needed for disambiguation.Y(PA) N/A(PR)
paymentItem[].item.idstringstringUnique identifier of a related entity.Y(PA) N/A(PR)
Key considerations
PA Implementation
1. The implementation to create the payment is available for types Order, Deposit and Batch.
2. We should consider Order and Batch for Billpayments.
3. The PaymentMethod which we are giving in Input should be configured at Liberate Side.
4. Below are some of the sample payment methods configured for Panama
   - CASH=C
   - CHECK=Q
   - CREDIT_CARD=R
   - AMEX_CREDIT_CARD=W
   - CLAVE=S
   - DEBIT_CARD=X
5. The Value for PaymentItem[X].item.id should be matched with the Deposit Requirement Id to make any deposits for referredType "Deposit"(For Panama CareApp Migration "Deposit Payment" is not in the Scope as the enabler PAN-2332 only covers BillPayment).
6. Channel.id is considered as a CashierId. This should be configured and cash drawer should be open in Liberate.
Possible Error Scenarios for PR :
{
    "errors": [
        {
            "code": 400,
            "message": "ARIA:CREATEPAYMENT",
            "description": "4020 | Balance is less than zero"
        },
        {
            "code": 400,
            "message": "ARIA:BUSINESS_ERROR",
            "description": "4039 | Collection not attempted since a negative balance exists on the account"
        }
    ]
}
Possible Error Scenario for PA When Cash drawer is not open or not found for the provided cashierID (Channel.id) :
{
    "correlatorId": "4444445435131231",
    "account": {
        "id": "101000180000"
    },
    "paymentItem": [
        {
            "totalAmount": {
                "amount": 1.1
            },
            "item": {
                "referredType": "Order",
                "id": "error",
                "description": "NOCURRCASH-Current cashdrawer not found for the specified cashier."
            }
        }
    ]
}

Reviews